草庐IT

Java while 循环和线程!

全部标签

c++ - Windows 线程 sleep 并从另一个线程唤醒

我有一个线程在一个类中运行,我想让自己进入休眠状态,并在另一个线程唤醒它时唤醒,如果可能的话,不传递互斥锁或其他元素,所以它是自包含的。基本上,我已经尝试过在调用WaitForSingleObject两次的线程中使用互斥锁的方法,期望它使互斥锁在第一次调用时不发出信号,但每次函数返回0,因为互斥锁已经发出信号并且线程是互斥锁的所有者,并且仍然是所有者。例如,我希望一旦进入休眠状态,就会调用一个类方法来释放互斥量。在Windows中是否有一个简单的方法来解决这个问题,或者我会被迫打破封装吗?运行 最佳答案 虽然Waitable句柄方法

c++ - 如何获取我的线程的语言环境名称?

例如,我可以使用_create_locale在我的C程序中设置语言环境因此:localeUS=_create_locale(LC_ALL,"English_UnitedStates.1252");但我需要的是相反的,即为调用线程检索语言环境名称(上面函数的第二个参数)。知道怎么做吗?附言。我知道现代Windows使用LCID。我需要此语言环境名称以与旧代码兼容。 最佳答案 希望您可以使用标准C++。来自std::locale::name:例子#include#include#includeintmain(){std::localel

c++ - 如何获取当前进程的线程 ID 列表

EnumProcess或CreateToolhelp32Snapshot函数帮助我们获取进程信息,包括进程ID。但是我想知道获取当前进程的线程id列表。DWORDGetMainThreadId(DWORDpId){LPVOIDlpThId;_asm{moveax,fs:[18h]addeax,36mov[lpThId],eax}HANDLEhProcess=OpenProcess(PROCESS_VM_READ,FALSE,pId);if(hProcess==NULL)returnNULL;DWORDtId;if(ReadProcessMemory(hProcess,lpThId,&t

windows - for/f 循环处理文件名和符号

我有一个处理丢弃文件的for循环,但我最近遇到了一个文件名包含&的文件,此时我收到了&wasunexpected的错误。所以我不确定它为什么这样做,我用引号括起来了。文件名示例:[This_&_That]_FileName.txt小例子:FOR/F"tokens=*delims=;"%%Pin("%*")docall:LOOP%%P:LOOPif'%1'==''goto:endloopecho%1pause....:endloopexit这对空格很有效,但是对于&符号它会崩溃。我必须使用文件名作为参数从cmd运行.bat文件才能看到错误。我已经尝试启用延迟扩展-就像在这篇文章中一样,但

windows - 批处理文件 - FOR 循环

让我为我的问题铺垫一下。我有一个文件夹(FOLDER_ABC)。在该文件夹中,有一个用于我的应用程序的文件夹,包括一个唯一且不断变化的版本号(application-v1.3.4)。在该文件夹中,有应用程序(application-v1.3.4.exe)-它也会定期更改。C:\FOLDER_ABC\application-v1.3.4\application-v1.3.4.exe在下面的这一部分中,我为所有以application*开头的文件夹创建了FOLDER_ABC的目录列表,并将该文件夹名称存储到名为directory.txt的文件中。然后我创建一个参数并将该目录存储到其中。我正

windows - 修改for循环批处理文件中的变量

您好,我正在尝试制作一个批处理文件,它会挖掘一个目录并检查其子目录中的所有文件是否与另一个目录中的文件相同(具有相同的名称和相同的子目录名称)例如:C:/Users/Administrator/desktop/directory1/global/config/project.configC:/directory2/global/config/project.config我能够获取所有需要与for循环进行比较的文件echo%%f给了我一条像这样的路径:C:/Users/Administrator/directory1/global/config/project.config但我想删除开头

windows - 如何在 Windows 中获得线程句柄的访问权限 THREAD_QUERY_INFORMATION

我想使用GetExitCodeThread()。MSDN文档说,“句柄必须具有THREAD_QUERY_INFORMATION或THREAD_QUERY_LIMITED_INFORMATION访问权限。”我使用_beginthreadex()创建我的线程。当我调用这个API时,我应该如何设置THREAD_QUERY_INFORMATION标志?它应该是initFlag的一部分吗?文档没有说明必须如何准确设置此标志。 最佳答案 _beginthreadex返回的句柄已经足够访问线程以查询有限的信息。毕竟它有终止线程的权限,这远不止查询

windows - 用读取文本文件的for循环替换多行批处理文件

我目前有一个批处理文件,可以安排chkdsk在多台服务器上运行,等待下次重新启动-c:\pstools\psexec\\server1-d-uDomain\administratorcmd/c"echoY|chkdskc:/F"c:\pstools\psexec\\server2-d-uDomain\administratorcmd/c"echoY|chkdskc:/F"c:\pstools\psexec\\server3-d-uDomain\administratorcmd/c"echoY|chkdskc:/F"c:\pstools\psexec\\server4-d-uDomain

java - 空 LibGdx 游戏循环泄漏内存

我正在调试我使用libGdx库和eclipse编写的游戏。我有一个巨大的内存泄漏,所以我在我的渲染循环中注释掉了行,直到我在那里什么都没有。但是应用程序的内存仍然在上升。我最终使用GTX设置UI创建了一个全新的项目。当我启动它时,发生了完全相同的事情。它仍在以大约100万的速度上升。每秒4KB。不多,但就是停不下来。在查看堆数据时,我看到有com.badlogic.gdx.backends.lwjgl.LwjglInput可能是它的原因。但是我什至不知道我是否应该改变一些东西,当这个“问题”甚至出现在由GTX设置UI创建的项目中时。这对于应用程序来说是正常的吗?我一直等到它从34'80

windows - 在 PowerShell v2 中打破 foreach 循环

我在PowerShellv2中终止foreach-object循环时遇到问题。为了大致了解我要完成的任务,这里是伪代码:从文本文件中读取主机列表为文本文件中的每个主机获取Win32_Product(根据排除列表过滤),将输出转换为html并保存。脚本的原因是我积累了一个文本文件,列出了标准客户端镜像中包含的所有应用程序,并且想定期从另一个文本文件扫描主机,看看是否有任何未经授权的、粗略的或其他不必要的应用程序在主机上。代码在粗略的意义上确实有效,但我遇到的主要问题是脚本不会在没有人工干预的情况下终止。我想我在这里缺少的组件是运行循环直到存在某些条件(即第二次遇到主机文件中的第一行),然